package com.teamsun.rptcfg;

import java.io.Serializable;

/**
 * <p>树形数据维度</p>
 */
public class TreeDim implements Serializable{

    /**
     * 维度表名
     */
    private String table;

    /**
     * 维度编码字段
     */
    private String code;

    /**
     * 维度名称字段
     */
    private String name;

    /**
     * 上级维度编码字段
     */
    private String upcode;

    /**
     * 树根节点编码
     */
    private String rootCode;

    /**
     * 权限值
     * 树形数据需要权限控制时配置该值(该配置用于配置机构权限)
     * 如：机构权限控制，需根据传入的用户所属机构展示机构信息(如用户是合肥用户，仅显示合肥)
     */
    private String rightParam;

    /**
     * 权限控制字段(大部分情况下该字段无需配置)
     * 通常情况下权限控制字段为code和upcode配置的字段，但是在某些特殊情况下
     * 权限控制的字段需要由额外的字段控制，此时需配置该字段的信息
     */
    private String rightField;

    /**
     * 权限值
     * 树形数据需要权限控制时配置该值(该配置用于配置上级机构权限)
     * 如：机构权限控制，需根据传入的用户所属机构展示机构信息(如用户是安徽省用户，显示安徽省下的所有地市)
     */
    private String parentRightParam;

    /**
     * 权限控制字段(大部分情况下该字段无需配置)
     * 通常情况下权限控制字段为code和upcode配置的字段，但是在某些特殊情况下
     * 权限控制的字段需要由额外的字段控制，此时需配置该字段的信息
     */
    private String parentRightField;

    /**
     * 排序字段及排序方式
     */
    private String order;

    /**
     * 维度数据源(为配置取报表工具数据源，如果配置则取配置的数据源)
     */
    private String dataSource;

    /**
     * 是否指定默认值,树形类型的默认值只能是树的根节点
     */
    private String needDefauleValue;

    /**
     * 树形控件是否需要有搜索功能(默认不需要)  0-不需要 1-需要
     * 由于树形控件的值可能会比较多，因此新增了搜索的功能
     */
    public String needSearch;

    /**
     * 如果树形控件中，需配置多个树，此属性用于配置每个树TAB的名称
     */
    public String tabName;

    public String getTable() {
        return table;
    }

    public void setTable(String table) {
        this.table = table;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUpcode() {
        return upcode;
    }

    public void setUpcode(String upcode) {
        this.upcode = upcode;
    }

    public String getRightParam() {
        return rightParam;
    }

    public void setRightParam(String rightParam) {
        this.rightParam = rightParam;
    }

    public String getDataSource() {
        return dataSource;
    }

    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }

    public String getOrder() {
        return order;
    }

    public void setOrder(String order) {
        this.order = order;
    }

    public String getNeedDefauleValue() {
        return needDefauleValue;
    }

    public void setNeedDefauleValue(String needDefauleValue) {
        this.needDefauleValue = needDefauleValue;
    }

    public String getRootCode() {
        return rootCode;
    }

    public void setRootCode(String rootCode) {
        this.rootCode = rootCode;
    }

    public String getParentRightParam() {
        return parentRightParam;
    }

    public void setParentRightParam(String parentRightParam) {
        this.parentRightParam = parentRightParam;
    }

    public String getNeedSearch() {
        return needSearch;
    }

    public void setNeedSearch(String needSearch) {
        this.needSearch = needSearch;
    }

    public String getTabName() {
        return tabName;
    }

    public void setTabName(String tabName) {
        this.tabName = tabName;
    }

    public String getRightField() {
        return rightField;
    }

    public void setRightField(String rightField) {
        this.rightField = rightField;
    }

    public String getParentRightField() {
        return parentRightField;
    }

    public void setParentRightField(String parentRightField) {
        this.parentRightField = parentRightField;
    }
}
